:autorun if then title "lev01_title01" disallow decks bio_deck disallow decks mid_deck place_room 2 13 1 1 sub_deck collector east place_room 12 15 1 1 sub_deck collector_node north set salt_hog_max 15 set salt_hog_every 1000000 set grey_max 10 set grey_every 1000000 set aronatimer 1000000 set sicktimer 100000 set targwait 1000000 set scriptwait 1000000 set energy 75000 ;EVENTUALLY TO BE REPLACED AS DEFAULT ITEMS discover @teevee discover @clock discover @lavalamp ; tom test for avoiding placing peeps on top of stuff ; place_peep targ resident 10 20 0 1024 0 ; place_peep targ resident 10 20 0 1024 0 ; place_peep targ resident 10 20 0 1024 0 ; place_peep targ resident 10 20 0 1024 0 ; place_peep targ resident 10 20 0 1024 0 ; place_peep targ resident 10 20 0 1024 0 disable end ;Game Start-up******************************************************************** ;Basic welcome text from Val :LOOP050 if turn > 100 then set speechcount 1 after say "lev01_general01" disable end ;Outlines basic mission objective :LOOP070 if speechcount = 1 then set speechcount 2 after say "lev01_mission01" disable end ;Sets task as build docking portal********************************************** ;Places suitable crates :LOOP090 if Speechcount = 2 then set speechcount 3 after say "lev01_task01" disable end :loop091 if speechcount = 3 then cam_pos 90 60 190 1536 256 sayx 01 "lev01_objective01" placeportable scutter_crate 12 18 sub_deck 1000 1 placeportable scutter_crate 13 19 sub_deck 800 1 placeportable hard_plan_crate 12 19 sub_deck 600 port disable end :loop091x if port_count > 0 then unsayx 01 disable end ;Build berth with 5 pods with provided crate************************************* :LOOP100 if speechcount = 3 port_count = 1 then set speechcount 4 after say "lev01_task02" disable end :loop101 if speechcount = 4 then placeportable hard_plan_crate 12 18 sub_deck 724 berth sayx 02 "lev01_objective02" disable end :loop101x if berth_count > 0 bunk_count > 4 then unsayx 02 disable end ;Build a lavotron with provided crate********************************************* :LOOP103 if speechcount = 4 bunk_count > 4 berth_count > 0 then set speechcount 5 after say "lev01_task03" disable end :loop104 if speechcount = 5 then set salt_hog_every 10 placeportable hard_plan_crate 12 18 sub_deck 624 lavotron sayx 03 "lev01_objective03" disable end :loop104x if lavotron_count > 0 then unsayx 03 disable end ;Build Dine-O-mat with provided crate********************************************* :LOOP110 if speechcount = 5 lavotron_count > 0 then set speechcount 6 after say "lev01_task04" disable end :LOOP111 if speechcount = 6 then placeportable hard_plan_crate 12 18 sub_deck 524 vendor sayx 04 "lev01_objective04" disable end :loop111x if vendor_count > 0 then unsayx 04 disable end ;Build charger with provided crate******************************************** :LOOP120 if speechcount = 6 vendor_count > 0 then set speechcount 7 after say "lev01_task05" disable end :LOOP121 if speechcount = 7 then placeportable hard_plan_crate 12 18 sub_deck 424 charger sayx 05 "lev01_objective05" disable end :loop121x if charger_count > 0 then unsayx 05 disable end ;Wait until at least 10 salthogs are on board*********************************** :LOOP140 if speechcount = 7 charger_count > 0 salt_hog_count < 10 then set speechcount 9 after say "lev01_task06" sayx 06 "lev01_objective06" disable end :loop140x if salt_hog_count > 9 then unsayx 06 disable end :Loop141 if speechcount = 7 salt_hog_count > 9 charger_count > 0 then set speechcount 9 disable end ;Check that port has been opened and remind player otherwise*********************** :loop150 if charger_count = 1 salt_hog_count < 1 then say "lev01_reminder01" disable end ;Congratulates player on getting this far**************************************** :LOOP160 if speechcount = 9 collector_count = 1 port_count = 1 bunk_count > 4 vendor_count > 0 lavotron_count > 0 scutter_count > 0 charger_count > 0 salt_hog_count > 8 then set speechcount 11 after say "lev01_general02" set salt_hog_max 30 disable end ;Makes second segment available and tells player to occupy it********************** :LOOP162 if speechcount = 11 then set speechcount 12 after say "lev01_task07" disable end :loop163 if speechcount = 12 then cam_pos 90 60 160 1536 056 unlock 1 sayx 07 "lev01_objective07" disable end :loop163x if array ownsubdeck 1 = 1 then unsayx 07 disable end ;Build a recycler with provided crate*********************************************** :loop165 if speechcount = 12 array ownsubdeck 1 = 1 then placeportable junk 17 1 sub_deck 1024 placeportable junk 18 15 sub_deck 924 placeportable junk 19 14 sub_deck 824 placeportable junk 20 19 sub_deck 724 placeportable junk 21 9 sub_deck 624 placeportable junk 22 11 sub_deck 524 placeportable junk 23 12 sub_deck 424 placeportable junk 24 18 sub_deck 324 placeportable junk 25 15 sub_deck 224 placeportable junk 26 5 sub_deck 124 placeportable junk 27 14 sub_deck 24 placeportable junk 28 15 sub_deck 1024 placeportable junk 29 26 sub_deck 924 placeportable junk 30 14 sub_deck 824 placeportable litter 17 27 sub_deck 724 placeportable litter 18 15 sub_deck 624 placeportable litter 19 6 sub_deck 524 placeportable litter 20 16 sub_deck 424 placeportable litter 21 16 sub_deck 324 placeportable litter 22 15 sub_deck 224 placeportable litter 23 24 sub_deck 124 placeportable litter 24 26 sub_deck 24 placeportable litter 25 18 sub_deck 1024 placeportable litter 26 4 sub_deck 924 placeportable litter 27 9 sub_deck 824 placeportable litter 28 1 sub_deck 724 placeportable litter 29 1 sub_deck 624 placeportable litter 30 16 sub_deck 524 set speechcount 13 after say "lev01_task08" disable end :loop166 if speechcount = 13 then placeportable hard_plan_crate 14 17 sub_deck 324 recycler sayx 08 "lev01_objective08" disable end :loop166x if recycler_count > 0 then unsayx 08 disable end ;Gets player to hire 4 salthogs***************************************************** :loop168 if speechcount = 13 recycler_count > 0 then set speechcount 14 after say "lev01_task09" disable end :loop168a if speechcount = 14 then set residentola 1 sayx 09 "lev01_objective09" disable end :loop168x if residentola > 0 resident_count > 3 then unsayx 09 disable end ;Sets up delay for arrival of Arona*********************************************** :loop170 if speechcount = 14 resident_count > 3 then set daal 1 set aronatimer (turn + 400) disable end ;Generates Arona. Will need appropriate Arona text******************************* :Aronaloop100 if daal = 1 aronatimer < turn then set daal 2 disable end :Aronaloop150 if daal = 2 then trader "arona0101.csv" 240 "lev01_arona01" set aronatimer (turn + 2000) set scriptwait (turn + 500) disable end ;If the player loses scuzzers arona offers new ones******************************** :Aronaloop200 if daal = 2 aronatimer < turn scutter_count < 2 cargoexists scutter_crate 1 = 0 then trader "arona0101.csv" 240 "lev01_aronascuzzer01." set aronatimer (turn + 1000) end ;Unpack tech crates provided and build one of each facility************************ :LOOP185 if junk_count < 5 recycler_count > 0 resident_count > 3 daal = 2 speechcount = 14 scriptwait < turn then unsayx 69 set speechcount 15 after say "lev01_task10" disable end :loop186 if speechcount = 15 then placeportable technology_crate 12 18 sub_deck 24 @BERTHS placeportable technology_crate 12 18 sub_deck 1024 @VENDOR placeportable technology_crate 12 18 sub_deck 924 @LAVOTRON sayx 10 "lev01_objective10" disable end :loop186x if @berths = 1 @vendor = 1 @lavotron = 1 then unsayx 10 disable end :loop187 if @berths = 1 @vendor = 1 @lavotron = 1 then set techunpack 1 after say "lev01_task10a" disable end :loop187a if techunpack = 1 then set techunpack 2 sayx 101 "lev01_objective10a" disable end :loop187x if techunpack = 2 Vendor_count > 1 lavotron_count > 1 berth_count > 1 then unsayx 101 disable end ;Player must bring the salt hog worker count up to six******************************************* :Loop188 if speechcount = 15 vendor_count > 1 lavotron_count > 1 berth_count > 1 resident_count < 6 then set speechcount 16 after say "lev01_task11" disable end :loop188a if speechcount = 16 resident_count < 6 then sayx 11 "lev01_objective11" disable end :loop188b if speechcount = 16 resident_count > 5 then unsayx 11 disable end :loop188c if speechcount = 15 vendor_count > 1 lavotron_count > 1 berth_count > 1 resident_count > 5 then set speechcount 16 disable end ;Tells player well done tells them to ensure enough facilities********************** :loop189 if speechcount = 16 vendor_count > 1 lavotron_count > 1 berth_count > 1 normal_peep_count > 10 resident_count > 5 then set speechcount 17 after say "lev01_task12" disable end :loop189a if speechcount = 17 then sayx 12 "lev01_objective12" set smallwait (turn + 2000) disable end ;Comment if the player is taking a long time to do the level*********************** :Loop190 if speechcount < 17 turn > 40000 then say "lev01_general03" disable end ;Arona making comment************************************************************* :loop193 if normal_peep_count > 20 winoffer = 0 daal = 2 lavotron_count > 1 then incoming local_comms "lev01_arona03" icon 6 disable end ;Once all is done, set new mission objectives*************************************** :Loop195 if turn > smallwait smallwait > 0 speechcount = 17 normal_peep_count > 15 then set stage 2 after say "lev01_mission02" disable end ;Generic look after peeps reminder************************************************** :Loop200 if stage = 2 then set speechcount 18 after say "lev01_task13" set grey_every 20 disable end ;Create two targ residents********************************************************** :loop210 if speechcount = 18 grey_count > 0 then unsayx 12 place_peep targ resident skill 3 place_peep targ resident skill 4 set speechcount 19 after say "lev01_task14" disable end ;Create another two targs********************************************************** :Loop220 if targ_count > 0 speechcount = 19 then sayx 14 "lev01_objective14" place_peep targ resident skill 5 place_peep targ resident skill 4 set speechcount 20 disable end ;Build a couple of comsensors with provided crates******************************** :Loop230 if targ_count > 2 speechcount = 20 then set speechcount 21 after say "lev01_task15" disable end :Loop250 if speechcount = 21 then placeportable hard_plan_crate 12 18 sub_deck 1000 satcom placeportable hard_plan_crate 12 18 sub_deck 750 satcom unsayx 14 sayx 15 "lev01_objective15" disable end :loop250x if satcom_count > 1 then unsayx 15 disable end ;ZEDEM EMERGENCY & ARONA INTERVENTION*********************************************** :loop260 if then set reply01 3 disable end ;Val informs player of emergency message :loop262 if satcom_count > 1 then set winoffer 1 after say "lev01_emergency01" disable end ;Message comes through with accept and decline options :loop265 if winoffer > 0 then incoming ship_comms respond reply01 within 5000 "lev01_emergency02" set winoffer (winoffer + 1) disable end ; if player declines, send message again :Loop266 if reply01 < 2 winoffer = 2 then set reply01 3 set waitseta (turn + 10) disable end :loop266a if waitseta > turn then trigger :loop265 disable end ; send again if still declined :Loop267 if reply01 < 2 winoffer = 3 then set reply01 0 set waitsetb (turn + 10) disable end ;last warning for player :loop267a if waitsetb > turn winoffer = 3 then trigger :loop265 after say "lev01_emergency03" disable end ;Lose if player declines. :Loop268 if winoffer = 4 reply01 = no then set wincriteria 2 after say "lev01_lose01" disable end ;if player accepts :Loop269 if reply01 = 2 then set sicktimer (turn + 750) incoming ship_comms within 600 "lev01_emergency04" set objwait (turn + 500) place_peep zedem_monk mood body 6000 infected 3 1 disable end :loop269b if turn > objwait objwait > 0 then set object16 after say "lev01_emergency05" disable end :loop269c if object16 = 1 then sayx 16 "lev01_objective16" disable end :loop266d if sicktimer < turn sicktimer > 0 sick_bay_count < 1 cargoexists hard_plan_crate sick_bay = 0 blueprint_count < 1 then trader "arona0103.csv" 1000 "lev01_arona02" set sicktimer (turn + 2000) end :loop269a if zedem_monk_count = 1 then set zedemarrived 1 disable end ;Player reminded to hire a good grey doctor :loop270 if sick_bay_count > 0 peepstat race grey allset resident roger < 1 then unsayx 16 set blah after say "lev01_emergency06" disable end :loop271 if blah = 1 then sayx 17 "lev01_objective17" disable end ;MISSION END STUFF****************************************************************** :LOOP 370 if array curedsofar 1 = 1 then unsayx 17 set wincriteria 1 after say "lev01_win01" disable end :LOOP380 if wincriteria = 1 then win disable end :Loop385 if array deathssofar 1 = 1 zedemarrived = 1 then unsayx 16 set wincriteria 2 after say "lev01_lose02" disable end :LOOP395 if wincriteria = 2 then clear lose disable end ;INCREASING TARGS IN LINE WITH FACILITIES******************************************* :Loop500 if (satcom_count * 3) > targ_count targwait < turn then set targwait (turn + 1000) place_peep targ resident place_peep targ resident end ;if energy gets too low************************************************************* :lowenergy100 if energy < 20000 energy > 10000 turn > energyremind then say "lev01_energy01" set energyremind (turn + 1000) end :lowenergy110 if energy < 10000 turn > energyremind then say "lev01_energy02" set energyremind (turn + 1000) end ;Rubbish reminder********************************************************************* :rubbish100 if junk_count > 6 recycler_count > 0 resident_count > 3 then set rubbishola after say "lev01_rubbish01" disable end :rubbish200 if rubbishola = 1 then sayx 69 "lev01_rubbish01" disable end ;player losing crates without building rooms*********************************************** :portrotted100 if cargoexists hard_plan_crate port = 1 then set portdelivered 1 disable end :portrotted200 if blueprint_count < 1 port_count < 1 cargoexists hard_plan_crate port = 0 portdelivered = 1 then set portdelivered 2 after say "facilityrot01" placeportable hard_plan_crate 12 18 sub_deck 1024 port disable end :portrotted300 if portdelivered = 2 then cam_pos 1370 60 190 1536 256 set portdelivered 3 disable end :portrotted400 if blueprint_count < 1 port_count < 1 cargoexists hard_plan_crate port = 0 portdelivered = 3 then trigger :rotlosenotice disable end ;************************************************************************* :satcomrotted100 if cargoexists hard_plan_crate satcom = 1 then set satcomdelivered 1 disable end :satcomrotted200 if blueprint_count < 1 satcom_count < 2 cargoexists hard_plan_crate satcom = 0 satcomdelivered = 1 then set satcomdelivered 2 after say "facilityrot01" placeportable hard_plan_crate 12 18 sub_deck 1024 satcom disable end :satcomrotted300 if blueprint_count < 1 satcom_count < 2 cargoexists hard_plan_crate satcom = 0 satcomdelivered = 2 then trigger :rotlosenotice disable end ;*********************************************************************** :berthrotted100 if cargoexists hard_plan_crate berth = 1 then set berthdelivered 1 disable end :berthrotted200 if blueprint_count < 1 berth_count < 1 cargoexists hard_plan_crate berth = 0 berthdelivered = 1 then set berthdelivered 2 after say "facilityrot01" placeportable hard_plan_crate 12 18 sub_deck 1024 berth disable end :berthrotted300 if blueprint_count < 1 berth_count < 1 cargoexists hard_plan_crate berth = 0 portdelivered = 2 then trigger :rotlosenotice disable end ;*********************************************************************** :lavotronrotted100 if cargoexists hard_plan_crate lavotron = 1 then set lavotrondelivered 1 disable end :lavotronrotted200 if blueprint_count < 1 lavotron_count < 1 cargoexists hard_plan_crate lavotron = 0 lavotrondelivered = 1 then set lavotrondelivered 2 after say "facilityrot01" placeportable hard_plan_crate 12 18 sub_deck 1024 lavotron disable end :lavotronrotted300 if blueprint_count < 1 lavotron_count < 1 cargoexists hard_plan_crate lavotron = 0 lavotrondelivered = 2 then trigger :rotlosenotice disable end ;*********************************************************************** :vendorrotted100 if cargoexists hard_plan_crate vendor = 1 then set vendordelivered 1 disable end :vendorrotted200 if blueprint_count < 1 vendor_count < 1 cargoexists hard_plan_crate vendor = 0 vendordelivered = 1 then set vendordelivered 2 after say "facilityrot01" placeportable hard_plan_crate 12 18 sub_deck 1024 vendor disable end :vendorrotted300 if blueprint_count < 1 vendor_count < 1 cargoexists hard_plan_crate vendor = 0 vendordelivered = 2 then trigger :rotlosenotice disable end ;*********************************************************************** :chargerrotted100 if cargoexists hard_plan_crate charger = 1 then set chargerdelivered 1 disable end :chargerrotted200 if blueprint_count < 1 charger_count < 1 cargoexists hard_plan_crate charger = 0 chargerdelivered = 1 then set chargerdelivered 2 after say "facilityrot01" placeportable hard_plan_crate 12 18 sub_deck 1024 charger disable end :chargerrotted300 if blueprint_count < 1 charger_count < 1 cargoexists hard_plan_crate charger = 0 chargerdelivered = 2 then trigger :rotlosenotice disable end ;*********************************************************************** :techberthrotted100 if cargoexists technology_crate @berths = 1 then set techberthdelivered 1 disable end :techberthrotted200 if @berths < 1 cargoexists technology_crate @berths = 0 techberthdelivered = 1 then set techberthdelivered 2 after say "lev01_techrot01" placeportable technology_crate 12 18 sub_deck 1024 @berths disable end :techberthrotted300 if @berths < 1 cargoexists technology_crate @berths = 0 techberthdelivered = 2 then trigger :rotlosenotice disable end ;*********************************************************************** :techlavotronrotted100 if cargoexists technology_crate @lavotron = 1 then set techlavotrondelivered 1 disable end :techlavotronrotted200 if @lavotron < 1 cargoexists technology_crate @lavotron = 0 techlavotrondelivered = 1 then set techlavotrondelivered 2 after say "lev01_techrot01" placeportable technology_crate 12 18 sub_deck 1024 @lavotron disable end :techlavotronrotted300 if @lavotron < 1 cargoexists technology_crate @lavotron = 0 techlavotrondelivered = 2 then trigger :rotlosenotice disable end ;*********************************************************************** :techvendorrotted100 if cargoexists technology_crate @vendor = 1 then set techvendordelivered 1 disable end :techvendorrotted200 if @vendor < 1 cargoexists technology_crate @vendor = 0 techvendordelivered = 1 then set techvendordelivered 2 after say "lev01_techrot01" placeportable technology_crate 12 18 sub_deck 1024 @vendor disable end :techvendorrotted300 if @vendor < 1 cargoexists technology_crate @vendor = 0 techvendordelivered = 2 then trigger :rotlosenotice disable end ;******************************************************* :droidrotted100 if cargoexists scutter_crate 1 = 1 then set droiddelivered 1 disable end :droidrotted200 if scutter_count < 1 cargoexists scutter_crate 1 = 0 droiddelivered = 1 then set droiddelivered 2 after say "lev01_droidrot01" placeportable scutter_crate 2 13 sub_deck 100 1 disable end :droidrotted300 if scutter_count < 1 cargoexists scutter_crate 1 = 0 droiddelivered = 2 then trigger :rotlosenotice disable end ;LOSE GAME IF YOU KEEP LETTING STUFF ROT***************************************** :rotlosenotice if 0 then set loserino after say "lev01_rotter01" disable end :rotlose if loserino = 1 then lose disable end ;************************************************************************************ :deathfines100 if deathssofar > paiddeaths then addenergy (0 - 1000) set paiddeaths (deathssofar) end